package com.ruoyi.worker.service.workerSys;

import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.worker.domain.MonthlyAttendanceIni;
import com.ruoyi.worker.domain.workAttendance.AttendanceDailyRecord;
import com.ruoyi.worker.domain.workAttendance.AttendanceMonthRecord;
import com.ruoyi.worker.domain.workAttendance.AttendanceMonthSumRecord;
import com.ruoyi.worker.domain.workAttendance.AttendanceSumDailyRecord;
import com.ruoyi.worker.domain.workAttendance.vo.AttendanceMonthRecordVo;
import org.springframework.web.multipart.MultipartFile;

import java.text.ParseException;
import java.util.List;
import java.util.Map;

/**
 * @ClassName WorkAttendanceService
 * @Description 考勤管理service
 * @Author leizhang
 * Date 2021/11/16 2:18 下午
 * @Version 1.0
 **/
public interface WorkAttendanceService {
    /**
     * @param requestParam
     * @return void
     * @Description : 考勤记录导入
     * @Author : leizhang
     * @Date 4:14 下午 2021/11/19
     **/
    public void saveWorkAttendanceInfo(Map<String, Object> requestParam) throws Exception;

    /**
     * @param
     * @return void
     * @Description : 通行记录保存 （导入）
     * @Author : leizhang
     * @Date 10:02 上午 2021/11/21
     **/
    public AjaxResult saveAttendancePassRecord(MultipartFile file) throws Exception;

    /**
     * @param attendanceSumDailyRecord
     * @return java.util.List<com.ruoyi.worker.domain.workAttendance.AttendanceSumDailyRecord>
     * @Description : 考勤汇总信息查询
     * @Author : leizhang
     * @Date 3:23 下午 2021/11/21
     **/
    public List<AttendanceSumDailyRecord> listOfAttendanceSumRecords(AttendanceSumDailyRecord attendanceSumDailyRecord);

    /**
     * @Description : 个人考勤信息查询
     * @Author : leizhang
     * @Date 4:30 下午 2021/11/21
     * @param attendanceDailyRecord
     * @return java.util.List<com.ruoyi.worker.domain.workAttendance.AttendanceDailyRecord>
     **/
    public List<AttendanceDailyRecord> listOfAttendanceRecord(AttendanceDailyRecord attendanceDailyRecord);


    /**
     * @Description : 查询个人记录byIds
     * @Author : leizhang
     * @Date 4:39 下午 2021/11/23
     * @param ids
     * @return java.util.List<com.ruoyi.worker.domain.workAttendance.AttendanceDailyRecord>
     **/
    public List<AttendanceDailyRecord> listOfAttendanceRecordByIds(int[] ids);
    /**
     * @Description : 个人通行记录查询
     * @Author : leizhang
     * @Date 6:51 下午 2021/11/21
     * @param monthlyAttendanceIni
     * @return java.util.List<com.ruoyi.worker.domain.MonthlyAttendanceIni>
     **/
    public List<MonthlyAttendanceIni> listOfMonthlyAttendanceIni(Map<String,Object> monthlyAttendanceIni);

    /**
     * @Description : 考勤数据导入修改
     * @Author : leizhang
     * @Date 2:51 下午 2021/11/23
     * @param file
     * @return void
     **/
    public void updateAttendanceInfo(MultipartFile file);

    /**
     * @Description : 月考勤汇总
     * @Author : leizhang
     * @Date 3:25 下午 2021/11/24
     * @param attendanceMonthSumRecord
     * @return java.util.List<com.ruoyi.worker.domain.workAttendance.AttendanceMonthSumRecord>
     **/
    public List<AttendanceMonthSumRecord> listOfAttendanceSumReCord(AttendanceMonthSumRecord attendanceMonthSumRecord);

    /**
     * @Description : 月考勤数据
     * @Author : leizhang
     * @Date 3:28 下午 2021/11/24
     * @param attendanceMonthRecord
     * @return java.util.List<com.ruoyi.worker.domain.workAttendance.AttendanceMonthRecord>
     **/
    public List<AttendanceMonthRecord> listOfAttendanceMonthRecord(AttendanceMonthRecord attendanceMonthRecord) throws ParseException;

    /**月考勤记录导出
     * @param attendanceDailyRecord
     * @return
     */
   public Map<String,Object> listOfAttendanceRecordVo(AttendanceDailyRecord attendanceDailyRecord);

   /**
    * @Description : 月考勤详情个人信息
    * @Author : leizhang
    * @Date 5:13 下午 2021/11/25
    * @param attendanceDailyRecord
    * @return java.util.List<com.ruoyi.worker.domain.workAttendance.AttendanceDailyRecord>
    **/
   public   List<AttendanceDailyRecord>  listOfAttendanceRecordByIdCard(AttendanceDailyRecord attendanceDailyRecord);
}
